home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / FormP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  3.8 KB  |  159 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.3
  7. */ 
  8. /*   $RCSfile: FormP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:40:12 $ */
  9. /*
  10. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13.  
  14. /*
  15.  *  _ __ ___ _
  16.  * | |\ /  /| |
  17.  * | | /  / | |  Copyright (C) 1988-1992 IXI Limited.
  18.  * |_|/__/_\|_|  IXI Limited, Cambridge, England.
  19.  *
  20.  *  @(#) FormP.h vsn 8.2 93/02/18 13:45:39
  21.  *
  22.  *  Program       : 
  23.  *  Module        : Form.c
  24.  *  Author        : Gary Henderson + OSF Team
  25.  *  Description   : Motif Form widget private header file
  26.  *
  27.  * Mod for M1.2.1 beta - add c++ bindings
  28.  */
  29.  
  30.  
  31. #ifndef _XmFormP_h
  32. #define _XmFormP_h
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #include <Xm/BulletinBP.h>
  39. #include <Xm/Form.h>
  40.  
  41. #ifndef XmRWidget
  42. #define XmRWidget "Widget"
  43. #endif
  44.  
  45. #define SORTED_LEFT_TO_RIGHT     (1 << 0)
  46. #define SORTED_TOP_TO_BOTTOM     (1 << 1)
  47. #define DONT_USE_BOTTOM     (1 << 2)
  48. #define DONT_USE_RIGHT         (1 << 3)
  49. #define WIDGET_DONT_USE_BOTTOM     (1 << 4)
  50. #define WIDGET_DONT_USE_RIGHT     (1 << 5)
  51. #define LEFT_NOT_MOVABLE     (1 << 6)
  52. #define RIGHT_NOT_MOVABLE     (1 << 7)
  53. #define TOP_NOT_MOVABLE     (1 << 8)
  54. #define BOTTOM_NOT_MOVABLE     (1 << 9)
  55. #define NOT_MOVABLE_RIGHT     (1 << 10)
  56. #define NOT_MOVABLE_DOWN     (1 << 11)
  57. #define DONT_ATTEMPT_MOVE_RIGHT (1 << 12)
  58. #define DONT_ATTEMPT_MOVE_DOWN  (1 << 13)
  59.  
  60. typedef struct _XmFormAttachmentRec
  61. {
  62.     unsigned char   type;
  63.     Widget          w;
  64.     int             percent;
  65.     int             offset;
  66.     int             value;
  67.     /* OSF fields */
  68.     int             tempValue;
  69. } XmFormAttachmentRec, *XmFormAttachment;
  70.  
  71. typedef struct _XmFormConstraintPart
  72. {
  73.     XmFormAttachmentRec att[4];
  74.     Widget          next_siblings[2];
  75.     int             flags;
  76.     XtWidgetGeometry geom;
  77.     Boolean         resizable;
  78.     /* OSF fields */
  79.     Widget          next_sibling;
  80.     Boolean         sorted;
  81.     Dimension       preferred_width, preferred_height;
  82. } XmFormConstraintPart, *XmFormConstraint;
  83.  
  84. typedef struct _XmFormConstraintRec
  85. {
  86.     XmManagerConstraintPart manager;
  87.     XmFormConstraintPart form;
  88. } XmFormConstraintRec, *XmFormConstraintPtr;
  89.  
  90.  
  91. /* Form class structure  */
  92.  
  93. typedef struct _XmFormClassPart
  94. {
  95.    XtPointer extension;   /* Pointer to extension record */
  96. } XmFormClassPart;
  97.  
  98.  
  99. /* Full class record declaration for form class  */
  100.  
  101. typedef struct _XmFormClassRec
  102. {
  103.     CoreClassPart   core_class;
  104.     CompositeClassPart composite_class;
  105.     ConstraintClassPart constraint_class;
  106.     XmManagerClassPart manager_class;
  107.     XmBulletinBoardClassPart bulletin_board_class;
  108.     XmFormClassPart form_class;
  109. } XmFormClassRec;
  110.  
  111. extern XmFormClassRec xmFormClassRec;
  112.  
  113.  
  114. /* The Form instance record  */
  115.  
  116. typedef struct _XmFormPart
  117. {
  118.     Dimension       horizontal_spacing;
  119.     Dimension       vertical_spacing;
  120.     int             fraction_base;
  121.     Boolean         rubber_positioning;
  122.     Boolean         need_sorting;
  123.     Widget          sorted_children [2];
  124.     /* OSF fields */
  125.     Widget          first_child;
  126.     Boolean initial_width, initial_height;
  127.     Boolean processing_constraints;
  128. } XmFormPart;
  129.  
  130.  
  131. /* Full instance record declaration  */
  132.  
  133. typedef struct _XmFormRec
  134. {
  135.     CorePart        core;
  136.     CompositePart   composite;
  137.     ConstraintPart  constraint;
  138.     XmManagerPart   manager;
  139.     XmBulletinBoardPart bulletin_board;
  140.     XmFormPart      form;
  141. } XmFormRec;
  142.  
  143. #define FORM_MAGIC (('I' << 8) | ('X' << 8))
  144. #define XmFormIsDelayedConversion(x) (((XmFormDelayedConversion) (x))->magic == FORM_MAGIC)
  145.  
  146. typedef struct
  147. {
  148.     unsigned int    magic;
  149.     String        name;
  150. } *XmFormDelayedConversion, XmFormDelayedConversionRec;
  151.  
  152.  
  153. #ifdef __cplusplus
  154. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  155. #endif
  156.  
  157. #endif                /* _XmFormP_h */
  158. /* DON'T ADD ANYTHING AFTER THIS #endif */
  159.